package com.hst.capacity.domain.service;

import com.hst.capacity.domain.model.entity.driver.DriverEntity;
import com.hst.capacity.domain.model.entity.order.express.ExpressOrderEntity;
import com.hst.capacity.domain.model.entity.order.express.ExpressOrderOperationHistory;
import com.hst.capacity.domain.model.request.OrderParam;
import com.hst.capacity.domain.model.request.dispatch.DispatchPartyDriverParam;
import com.hst.capacity.domain.model.request.driver.DriverAddParam;
import com.hst.capacity.domain.model.request.driver.DriverSearchParam;
import com.hst.capacity.domain.model.request.express.ExListNewParam;
import com.hst.capacity.domain.model.request.express.ExListParam;
import com.hst.capacity.domain.model.request.express.ExOperationHistoryParam;
import com.hst.capacity.domain.model.response.PagingResultVO;
import com.hst.capacity.domain.model.response.order.OrderVO;

/**
 *  "快车订单"领域服务接口
 *
 * */
public interface ExpressService {

    /**
     * 分页并条件查询今日快车录单信息
     * @param param
     * @return
     */
    PagingResultVO<ExpressOrderEntity> searchWithConditionsAndPaging(ExListParam param);

    OrderVO virtualAcceptOrder(String idOrder, String idDriver);

    int acceptOrder(OrderParam param);

    boolean dispatchPartyDriver(DispatchPartyDriverParam param);

    OrderVO findOrderByIdOrder(String idOrder);

//    /**
//     * 订单操作履历
//     * @param param
//     * @return
//     */
//    ExpressOrderOperationHistory createOrderOperationHistory(ExOperationHistoryParam param);

}
